package com.xndc.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

/**
 * IEC 104协议配置
 */
@Configuration
@ConfigurationProperties(prefix = "iec104")
@Data
public class Iec104Config {
    
    /**
     * 是否启用IEC 104协议
     */
    private boolean enabled = false;
    
    /**
     * 信息对象地址字节数（通常为3）
     */
    private int ioaLength = 3;
    
    /**
     * 设备映射配置
     */
    private List<DeviceMapping> devices = new ArrayList<>();
    
    /**
     * 点表配置文件路径
     */
    private String pointMapFile;
    
    /**
     * 设备映射
     */
    @Data
    public static class DeviceMapping {
        /**
         * 公共地址
         */
        private int commonAddress;
        
        /**
         * 设备ID
         */
        private String deviceId;
        
        /**
         * 设备描述
         */
        private String description;
    }
} 